-- Base global tables to manage entity classes

-- Prototype table contains all of the specific classes
-- to be instanced later. Key values in the table are entity names
prototype = {}

-- Shared entities. This is an array of all the shared entity instances
-- currently in play (This is really the powerhouse of lua's dynamically
-- typed interface) Clients can only add to this list under request from
-- the server. This array should be identical across all hosts
shared_entities = {}

-- Creates and destroys shared entities
-- Methods are defined in C++
shared_entity_factory = {}

-- Client entities. These entities have limited interaction with shared entities
-- and they are only controlled and upated on the local client only
-- Clients can add and remove to this list at any time
client_entities = {}

-- Creates and destroys client entities
-- Methods are defined in C++
client_entity_factory = {}

-- Associative container to act as an enumeration for telling what type of entity this is
entity_types = {entity = 0, physics = 1, vehicle = 2, weapon = 3, hud = 4}



io.stdout:write("Base tables initialized and ready for definition!\n")
